<?php

class AtendimentoLogic extends LogicModel{

    public function __construct() {
        parent::__construct(new AtendimentoDAO());
    }
    
    public function ajaxListAtendimento($params) {
        /* Atributos do objeto que poderam ser ordenado */
        $atributos = array('nome', 'cpf','status');
        $order = TDataTableHelper::mountOrderBy($atributos, $params['iSortCol_0'], $params['sSortDir_0']);
        unset($atributos);
        /* Colunas do banco a serem pesquisandas */
        $colunas = array('nom_atendimento', 'num_cpf', 'des_status' => array('A' => 'Ativo', 'D' => 'Desativado'));
        /* Montar string de pesquisa no where */
        $where = TDataTableHelper::mountSearch($colunas, $params['sSearch'], false);

        unset($colunas);
        /* Total de registros */
        $iTotal = $this->totalRegistro($where);
        /* Listar */
        $arrayListObject = $this->listar($where, $order, null, null, $params['iDisplayStart'], $params['iDisplayLength']);
        unset($where);
        /* Montar output */
        $output = TDataTableHelper::mountArrayOutPut($params['sEcho'], $iTotal);
        unset($iTotal);

        if (isset($arrayListObject[0])) {
            foreach ($arrayListObject as $object) {
                $link = "<a href='index.php?Atendimento/informar/id/{$object->getId()}'>" . FormatHelper::convertMaiusculo($object->getNome()) . "</a>";
                $status = ($object->getStatus() === 'A') ? "<spam class='fg-emerald'>Ativo</spam>" : "<spam class='fg-red'>Desativado</spam>";
                $output['aaData'][] = array(
                    utf8_encode($link),
                    utf8_encode($object->getNumeroCPF()),
                    utf8_encode($status)
                );
                unset($link);
                unset($status);
            }
        }
        unset($arrayListObject);

        return json_encode($output);
    }
    
    public function ajaxExcluirTipoEncaminhamentoFromAtendimento($params) {
        $dados = array('ide_atendimento' => $params['idAtendimento'], 'ide_tipo_encaminhamento' => $params['idTipoEncaminhamento']);
        $result = $this->deleteQuery(
                'sisprev.atendimento__tipo_encaminhamento', "ide_atendimento = :ide_atendimento AND ide_tipo_encaminhamento = :ide_tipo_encaminhamento", $dados
        );
        return $result;
    }
    
}

?>
